/*
 * Copyright 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors.
 * Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
 */

package org.jetbrains.kotlin.analysis.api.standalone.fir.test.cases.generated.cases.types.typeCreation;

import com.intellij.testFramework.TestDataPath;
import org.jetbrains.kotlin.test.util.KtTestUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.kotlin.analysis.api.standalone.fir.test.configurators.AnalysisApiFirStandaloneModeTestConfiguratorFactory;
import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfiguratorFactoryData;
import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiTestConfigurator;
import org.jetbrains.kotlin.analysis.test.framework.test.configurators.TestModuleKind;
import org.jetbrains.kotlin.analysis.test.framework.test.configurators.FrontendKind;
import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisSessionMode;
import org.jetbrains.kotlin.analysis.test.framework.test.configurators.AnalysisApiMode;
import org.jetbrains.kotlin.analysis.api.impl.base.test.cases.types.typeCreation.AbstractTypeCreatorDslTest;
import org.jetbrains.kotlin.test.TestMetadata;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;

import java.io.File;
import java.util.regex.Pattern;

/** This class is generated by {@link org.jetbrains.kotlin.generators.tests.analysis.api.GenerateAnalysisApiTestsKt}. DO NOT MODIFY MANUALLY */
@SuppressWarnings("all")
@TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl")
@TestDataPath("$PROJECT_ROOT")
public class FirStandaloneNormalAnalysisSourceModuleTypeCreatorDslTestGenerated extends AbstractTypeCreatorDslTest {
  @NotNull
  @Override
  public AnalysisApiTestConfigurator getConfigurator() {
    return AnalysisApiFirStandaloneModeTestConfiguratorFactory.INSTANCE.createConfigurator(
      new AnalysisApiTestConfiguratorFactoryData(
        FrontendKind.Fir,
        TestModuleKind.Source,
        AnalysisSessionMode.Normal,
        AnalysisApiMode.Standalone
      )
    );
  }

  @Test
  public void testAllFilesPresentInByDsl() {
    KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl"), Pattern.compile("^(.+)\\.kt$"), null, true);
  }

  @Nested
  @TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType")
  @TestDataPath("$PROJECT_ROOT")
  public class ArrayType {
    @Test
    public void testAllFilesPresentInArrayType() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("boolPreferPrimitive.kt")
    public void testBoolPreferPrimitive() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/boolPreferPrimitive.kt");
    }

    @Test
    @TestMetadata("boxedArrayOutVariance.kt")
    public void testBoxedArrayOutVariance() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/boxedArrayOutVariance.kt");
    }

    @Test
    @TestMetadata("charShouldNotPreferPrimitive.kt")
    public void testCharShouldNotPreferPrimitive() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/charShouldNotPreferPrimitive.kt");
    }

    @Test
    @TestMetadata("dynamicType.kt")
    public void testDynamicType() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/dynamicType.kt");
    }

    @Test
    @TestMetadata("errorType.kt")
    public void testErrorType() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/errorType.kt");
    }

    @Test
    @TestMetadata("flexibleInt.kt")
    public void testFlexibleInt() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/flexibleInt.kt");
    }

    @Test
    @TestMetadata("int.kt")
    public void testInt() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/int.kt");
    }

    @Test
    @TestMetadata("intInVarianceShouldPreferPrimitive.kt")
    public void testIntInVarianceShouldPreferPrimitive() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/intInVarianceShouldPreferPrimitive.kt");
    }

    @Test
    @TestMetadata("intOutVariance.kt")
    public void testIntOutVariance() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/intOutVariance.kt");
    }

    @Test
    @TestMetadata("nullableIntPreferPrimitive.kt")
    public void testNullableIntPreferPrimitive() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/nullableIntPreferPrimitive.kt");
    }

    @Test
    @TestMetadata("nullableUserType.kt")
    public void testNullableUserType() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/nullableUserType.kt");
    }

    @Test
    @TestMetadata("primitiveArrayPreferPrimitive.kt")
    public void testPrimitiveArrayPreferPrimitive() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/primitiveArrayPreferPrimitive.kt");
    }

    @Test
    @TestMetadata("simpleUserTypeMakeNullablePreferPrimitive.kt")
    public void testSimpleUserTypeMakeNullablePreferPrimitive() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/simpleUserTypeMakeNullablePreferPrimitive.kt");
    }

    @Test
    @TestMetadata("typeParameterPreferPrimitiveOutVariance.kt")
    public void testTypeParameterPreferPrimitiveOutVariance() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/typeParameterPreferPrimitiveOutVariance.kt");
    }

    @Test
    @TestMetadata("typeParameterWithIntUpperBound.kt")
    public void testTypeParameterWithIntUpperBound() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/typeParameterWithIntUpperBound.kt");
    }

    @Test
    @TestMetadata("withAnnotations.kt")
    public void testWithAnnotations() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/arrayType/withAnnotations.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl/capturedType")
  @TestDataPath("$PROJECT_ROOT")
  public class CapturedType {
    @Test
    public void testAllFilesPresentInCapturedType() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl/capturedType"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("fromAnotherCapturedTypeMarkedNullable.kt")
    public void testFromAnotherCapturedTypeMarkedNullable() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/capturedType/fromAnotherCapturedTypeMarkedNullable.kt");
    }

    @Test
    @TestMetadata("outIntProjection.kt")
    public void testOutIntProjection() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/capturedType/outIntProjection.kt");
    }

    @Test
    @TestMetadata("starProjection.kt")
    public void testStarProjection() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/capturedType/starProjection.kt");
    }

    @Test
    @TestMetadata("starProjectionMarkedNullable.kt")
    public void testStarProjectionMarkedNullable() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/capturedType/starProjectionMarkedNullable.kt");
    }

    @Test
    @TestMetadata("starProjectionWithAnnotations.kt")
    public void testStarProjectionWithAnnotations() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/capturedType/starProjectionWithAnnotations.kt");
    }

    @Test
    @TestMetadata("typeParameterOutProjection.kt")
    public void testTypeParameterOutProjection() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/capturedType/typeParameterOutProjection.kt");
    }

    @Test
    @TestMetadata("userTypeInProjection.kt")
    public void testUserTypeInProjection() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/capturedType/userTypeInProjection.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl/classType")
  @TestDataPath("$PROJECT_ROOT")
  public class ClassType {
    @Test
    public void testAllFilesPresentInClassType() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl/classType"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("boxedArrayWithStringTypeArgument.kt")
    public void testBoxedArrayWithStringTypeArgument() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/boxedArrayWithStringTypeArgument.kt");
    }

    @Test
    @TestMetadata("genericTypeAliasWithIntArgument.kt")
    public void testGenericTypeAliasWithIntArgument() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/genericTypeAliasWithIntArgument.kt");
    }

    @Test
    @TestMetadata("genericTypeAliasWithNoArguments.kt")
    public void testGenericTypeAliasWithNoArguments() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/genericTypeAliasWithNoArguments.kt");
    }

    @Test
    @TestMetadata("intTypeMarkNullable.kt")
    public void testIntTypeMarkNullable() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/intTypeMarkNullable.kt");
    }

    @Test
    @TestMetadata("lessTypeArgumentsThanExpected.kt")
    public void testLessTypeArgumentsThanExpected() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/lessTypeArgumentsThanExpected.kt");
    }

    @Test
    @TestMetadata("listWithTypeAliasArgument.kt")
    public void testListWithTypeAliasArgument() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/listWithTypeAliasArgument.kt");
    }

    @Test
    @TestMetadata("localUserType.kt")
    public void testLocalUserType() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/localUserType.kt");
    }

    @Test
    @TestMetadata("moreTypeArgumentsThanExpected.kt")
    public void testMoreTypeArgumentsThanExpected() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/moreTypeArgumentsThanExpected.kt");
    }

    @Test
    @TestMetadata("nonExistingClassId.kt")
    public void testNonExistingClassId() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/nonExistingClassId.kt");
    }

    @Test
    @TestMetadata("nonExistingClassIdWithAnnotations.kt")
    public void testNonExistingClassIdWithAnnotations() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/nonExistingClassIdWithAnnotations.kt");
    }

    @Test
    @TestMetadata("typeAlias.kt")
    public void testTypeAlias() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/typeAlias.kt");
    }

    @Test
    @TestMetadata("typeAliasWithNestedTypeAliases.kt")
    public void testTypeAliasWithNestedTypeAliases() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/typeAliasWithNestedTypeAliases.kt");
    }

    @Test
    @TestMetadata("userGenericTypeWithStarProjection.kt")
    public void testUserGenericTypeWithStarProjection() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/userGenericTypeWithStarProjection.kt");
    }

    @Test
    @TestMetadata("userType.kt")
    public void testUserType() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/userType.kt");
    }

    @Test
    @TestMetadata("userTypeWithAnnotations.kt")
    public void testUserTypeWithAnnotations() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/userTypeWithAnnotations.kt");
    }

    @Test
    @TestMetadata("withAnnotationRequiringArguments.kt")
    public void testWithAnnotationRequiringArguments() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/withAnnotationRequiringArguments.kt");
    }

    @Test
    @TestMetadata("withGenericAnnotation.kt")
    public void testWithGenericAnnotation() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/classType/withGenericAnnotation.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl/definitelyNotNullType")
  @TestDataPath("$PROJECT_ROOT")
  public class DefinitelyNotNullType {
    @Test
    public void testAllFilesPresentInDefinitelyNotNullType() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl/definitelyNotNullType"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("capturedNullableTypeOutProjection.kt")
    public void testCapturedNullableTypeOutProjection() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/definitelyNotNullType/capturedNullableTypeOutProjection.kt");
    }

    @Test
    @TestMetadata("capturedTypeIntOut.kt")
    public void testCapturedTypeIntOut() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/definitelyNotNullType/capturedTypeIntOut.kt");
    }

    @Test
    @TestMetadata("capturedTypeWithStarProjection.kt")
    public void testCapturedTypeWithStarProjection() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/definitelyNotNullType/capturedTypeWithStarProjection.kt");
    }

    @Test
    @TestMetadata("nullableTypeParameter.kt")
    public void testNullableTypeParameter() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/definitelyNotNullType/nullableTypeParameter.kt");
    }

    @Test
    @TestMetadata("typeParameter.kt")
    public void testTypeParameter() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/definitelyNotNullType/typeParameter.kt");
    }

    @Test
    @TestMetadata("typeParameterWithAnyUpperBound.kt")
    public void testTypeParameterWithAnyUpperBound() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/definitelyNotNullType/typeParameterWithAnyUpperBound.kt");
    }

    @Test
    @TestMetadata("typeParameterWithNullableIntUpperBound.kt")
    public void testTypeParameterWithNullableIntUpperBound() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/definitelyNotNullType/typeParameterWithNullableIntUpperBound.kt");
    }

    @Test
    @TestMetadata("withAnnotations.kt")
    public void testWithAnnotations() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/definitelyNotNullType/withAnnotations.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl/dynamicType")
  @TestDataPath("$PROJECT_ROOT")
  public class DynamicType {
    @Test
    public void testAllFilesPresentInDynamicType() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl/dynamicType"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("dynamicType.kt")
    public void testDynamicType() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/dynamicType/dynamicType.kt");
    }

    @Test
    @TestMetadata("withAnnotations.kt")
    public void testWithAnnotations() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/dynamicType/withAnnotations.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType")
  @TestDataPath("$PROJECT_ROOT")
  public class FlexibleType {
    @Test
    public void testAllFilesPresentInFlexibleType() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("anyAndNullableAny.kt")
    public void testAnyAndNullableAny() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType/anyAndNullableAny.kt");
    }

    @Test
    @TestMetadata("equalBounds.kt")
    public void testEqualBounds() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType/equalBounds.kt");
    }

    @Test
    @TestMetadata("flexibleTypeWithReplacedUpperBound.kt")
    public void testFlexibleTypeWithReplacedUpperBound() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType/flexibleTypeWithReplacedUpperBound.kt");
    }

    @Test
    @TestMetadata("incompatibleBounds.kt")
    public void testIncompatibleBounds() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType/incompatibleBounds.kt");
    }

    @Test
    @TestMetadata("intAndNullableInt.kt")
    public void testIntAndNullableInt() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType/intAndNullableInt.kt");
    }

    @Test
    @TestMetadata("nothingAndNullableAny.kt")
    public void testNothingAndNullableAny() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType/nothingAndNullableAny.kt");
    }

    @Test
    @TestMetadata("twoFlexibleTypes.kt")
    public void testTwoFlexibleTypes() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType/twoFlexibleTypes.kt");
    }

    @Test
    @TestMetadata("twoUserTypes.kt")
    public void testTwoUserTypes() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType/twoUserTypes.kt");
    }

    @Test
    @TestMetadata("withAnnotations.kt")
    public void testWithAnnotations() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType/withAnnotations.kt");
    }

    @Test
    @TestMetadata("withDefaultValues.kt")
    public void testWithDefaultValues() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType/withDefaultValues.kt");
    }

    @Test
    @TestMetadata("withOnlyLowerBoundProvided.kt")
    public void testWithOnlyLowerBoundProvided() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType/withOnlyLowerBoundProvided.kt");
    }

    @Test
    @TestMetadata("withOnlyUpperBoundProvided.kt")
    public void testWithOnlyUpperBoundProvided() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/flexibleType/withOnlyUpperBoundProvided.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType")
  @TestDataPath("$PROJECT_ROOT")
  public class FunctionType {
    @Test
    public void testAllFilesPresentInFunctionType() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("basicFunWithIntReturnType.kt")
    public void testBasicFunWithIntReturnType() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/basicFunWithIntReturnType.kt");
    }

    @Test
    @TestMetadata("basicFunWithIntReturnTypeAndReceiver.kt")
    public void testBasicFunWithIntReturnTypeAndReceiver() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/basicFunWithIntReturnTypeAndReceiver.kt");
    }

    @Test
    @TestMetadata("basicNullableFunWithUserReturnType.kt")
    public void testBasicNullableFunWithUserReturnType() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/basicNullableFunWithUserReturnType.kt");
    }

    @Test
    @TestMetadata("fourIntValueParameters.kt")
    public void testFourIntValueParameters() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/fourIntValueParameters.kt");
    }

    @Test
    @TestMetadata("reflectAndSuspendWithDefaultValues.kt")
    public void testReflectAndSuspendWithDefaultValues() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/reflectAndSuspendWithDefaultValues.kt");
    }

    @Test
    @TestMetadata("reflectWithDefaultValues.kt")
    public void testReflectWithDefaultValues() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/reflectWithDefaultValues.kt");
    }

    @Test
    @TestMetadata("reflectWithSingleContextParameter.kt")
    public void testReflectWithSingleContextParameter() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/reflectWithSingleContextParameter.kt");
    }

    @Test
    @TestMetadata("reflectWithStringReceiver.kt")
    public void testReflectWithStringReceiver() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/reflectWithStringReceiver.kt");
    }

    @Test
    @TestMetadata("suspendWithDefaultValues.kt")
    public void testSuspendWithDefaultValues() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/suspendWithDefaultValues.kt");
    }

    @Test
    @TestMetadata("withAnnotation.kt")
    public void testWithAnnotation() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/withAnnotation.kt");
    }

    @Test
    @TestMetadata("withAnnotationReceiverAndContextParameter.kt")
    public void testWithAnnotationReceiverAndContextParameter() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/withAnnotationReceiverAndContextParameter.kt");
    }

    @Test
    @TestMetadata("withContextParameterReceiverAndValueParameter.kt")
    public void testWithContextParameterReceiverAndValueParameter() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/withContextParameterReceiverAndValueParameter.kt");
    }

    @Test
    @TestMetadata("withDefaultValues.kt")
    public void testWithDefaultValues() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/withDefaultValues.kt");
    }

    @Test
    @TestMetadata("withPluginAnnotation.kt")
    public void testWithPluginAnnotation() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/withPluginAnnotation.kt");
    }

    @Test
    @TestMetadata("withSingleContextParameter.kt")
    public void testWithSingleContextParameter() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/functionType/withSingleContextParameter.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl/intersectionType")
  @TestDataPath("$PROJECT_ROOT")
  public class IntersectionType {
    @Test
    public void testAllFilesPresentInIntersectionType() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl/intersectionType"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("anotherIntersectionTypeAsConjunct.kt")
    public void testAnotherIntersectionTypeAsConjunct() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/intersectionType/anotherIntersectionTypeAsConjunct.kt");
    }

    @Test
    @TestMetadata("duplicates.kt")
    public void testDuplicates() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/intersectionType/duplicates.kt");
    }

    @Test
    @TestMetadata("flexibleTypeAsConjunct.kt")
    public void testFlexibleTypeAsConjunct() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/intersectionType/flexibleTypeAsConjunct.kt");
    }

    @Test
    @TestMetadata("singleConjunct.kt")
    public void testSingleConjunct() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/intersectionType/singleConjunct.kt");
    }

    @Test
    @TestMetadata("threeRandomTypes.kt")
    public void testThreeRandomTypes() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/intersectionType/threeRandomTypes.kt");
    }

    @Test
    @TestMetadata("threeSubtypes.kt")
    public void testThreeSubtypes() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/intersectionType/threeSubtypes.kt");
    }

    @Test
    @TestMetadata("threeUserSubtypes.kt")
    public void testThreeUserSubtypes() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/intersectionType/threeUserSubtypes.kt");
    }

    @Test
    @TestMetadata("withAnnotationsOnConjuncts.kt")
    public void testWithAnnotationsOnConjuncts() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/intersectionType/withAnnotationsOnConjuncts.kt");
    }

    @Test
    @TestMetadata("withError.kt")
    public void testWithError() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/intersectionType/withError.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl/starTypeProjection")
  @TestDataPath("$PROJECT_ROOT")
  public class StarTypeProjection {
    @Test
    public void testAllFilesPresentInStarTypeProjection() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl/starTypeProjection"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("starTypeProjection.kt")
    public void testStarTypeProjection() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/starTypeProjection/starTypeProjection.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl/typeParameterType")
  @TestDataPath("$PROJECT_ROOT")
  public class TypeParameterType {
    @Test
    public void testAllFilesPresentInTypeParameterType() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl/typeParameterType"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("regularMakeNullable.kt")
    public void testRegularMakeNullable() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/typeParameterType/regularMakeNullable.kt");
    }

    @Test
    @TestMetadata("reified.kt")
    public void testReified() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/typeParameterType/reified.kt");
    }

    @Test
    @TestMetadata("withAnnotations.kt")
    public void testWithAnnotations() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/typeParameterType/withAnnotations.kt");
    }

    @Test
    @TestMetadata("withUpperBounds.kt")
    public void testWithUpperBounds() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/typeParameterType/withUpperBounds.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl/typeProjection")
  @TestDataPath("$PROJECT_ROOT")
  public class TypeProjection {
    @Test
    public void testAllFilesPresentInTypeProjection() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl/typeProjection"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("intWithInVariance.kt")
    public void testIntWithInVariance() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/typeProjection/intWithInVariance.kt");
    }

    @Test
    @TestMetadata("invariantStringTypeMarkedNullable.kt")
    public void testInvariantStringTypeMarkedNullable() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/typeProjection/invariantStringTypeMarkedNullable.kt");
    }
  }

  @Nested
  @TestMetadata("analysis/analysis-api/testData/types/typeCreation/byDsl/varargArrayType")
  @TestDataPath("$PROJECT_ROOT")
  public class VarargArrayType {
    @Test
    public void testAllFilesPresentInVarargArrayType() {
      KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("analysis/analysis-api/testData/types/typeCreation/byDsl/varargArrayType"), Pattern.compile("^(.+)\\.kt$"), null, true);
    }

    @Test
    @TestMetadata("boxedArray.kt")
    public void testBoxedArray() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/varargArrayType/boxedArray.kt");
    }

    @Test
    @TestMetadata("errorType.kt")
    public void testErrorType() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/varargArrayType/errorType.kt");
    }

    @Test
    @TestMetadata("flexibleInt.kt")
    public void testFlexibleInt() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/varargArrayType/flexibleInt.kt");
    }

    @Test
    @TestMetadata("nullableInt.kt")
    public void testNullableInt() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/varargArrayType/nullableInt.kt");
    }

    @Test
    @TestMetadata("nullableUserType.kt")
    public void testNullableUserType() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/varargArrayType/nullableUserType.kt");
    }

    @Test
    @TestMetadata("primitiveArray.kt")
    public void testPrimitiveArray() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/varargArrayType/primitiveArray.kt");
    }

    @Test
    @TestMetadata("simpleUserType.kt")
    public void testSimpleUserType() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/varargArrayType/simpleUserType.kt");
    }

    @Test
    @TestMetadata("typeParameter.kt")
    public void testTypeParameter() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/varargArrayType/typeParameter.kt");
    }

    @Test
    @TestMetadata("typeParameterWithIntUpperBound.kt")
    public void testTypeParameterWithIntUpperBound() {
      runTest("analysis/analysis-api/testData/types/typeCreation/byDsl/varargArrayType/typeParameterWithIntUpperBound.kt");
    }
  }
}
